package com.at.bigdata.spark.core.hc

/**
 *
 * @author cdhuangchao3
 * @date 2023/5/20 8:41 PM
 */
object ListTest02 {
  def main(args: Array[String]): Unit = {
    //创建集合
    val list: List[Int] = List(1, 2, 3, 4, 5, 6)
    val list1: List[Int] = List(4, 5, 6, 7, 8, 9)
    println(list)
    println(list1)
    //获取集合头
    println(list.head)
    //获取集合尾
    println(list.tail)
    //集合最后一个数据
    println(list.last)
    //集合最初数据(没有最后一个)
    println(list.init)
    //反转
    println(list.reverse)
    //取前（后）n个数据
    println(list.take(3))
    println(list.takeRight(3))
    //去前（后）n个数据
    println(list.drop(3))
    println(list.dropRight(3))
    //并集
    println(list.union(list1))
    //交集
    println(list.intersect(list1))
    //差集
    println(list.diff(list1))
    println(list1.diff(list))
    //拉链
    //如果两个集合的元素个数不相等，那么会将同等数量的数据进行拉链，多余的数据省略不用
    println(list.zip(list1))
    println(list.zip(list.tail))
    //滑窗
    list.sliding(3,1).foreach(println)
  }
}